Next: Library Search, Previous: How Programs Do Loading, Up: Loading [Contents][Index]
We now describe some technical details about the exact
suffixes that load tries.
This is a list of suffixes indicating (compiled or source)
Emacs Lisp files. It should not include the empty string.
load uses these suffixes in order when it
appends Lisp suffixes to the specified file name. The
standard value is (".elc" ".el") which produces
the behavior described in the previous section.
This is a list of suffixes that indicate representations
of the same file. This list should normally start with the
empty string. When load searches for a file it
appends the suffixes in this list, in order, to the file
name, before searching for another file.
Enabling Auto Compression mode appends the suffixes in
jka-compr-load-suffixes to this list and
disabling Auto Compression mode removes them again. The
standard value of load-file-rep-suffixes if Auto
Compression mode is disabled is (""). Given that
the standard value of jka-compr-load-suffixes is
(".gz"), the standard value of
load-file-rep-suffixes if Auto Compression mode
is enabled is ("" ".gz").
This function returns the list of all suffixes that
load should try, in order, when its
must-suffix argument is non-nil. This
takes both load-suffixes and
load-file-rep-suffixes into account. If
load-suffixes,
jka-compr-load-suffixes and
load-file-rep-suffixes all have their standard
values, this function returns (".elc" ".elc.gz" ".el"
".el.gz") if Auto Compression mode is enabled and
(".elc" ".el") if Auto Compression mode is
disabled.
To summarize, load normally first tries the
suffixes in the value of (get-load-suffixes) and
then those in load-file-rep-suffixes. If
nosuffix is non-nil, it skips the former
group, and if must-suffix is non-nil, it
skips the latter group.
If this option is non-nil, then rather than
stopping at the first suffix that exists, load
tests them all, and uses whichever file is the newest.
Next: Library Search, Previous: How Programs Do Loading, Up: Loading [Contents][Index]